%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcul de l'erreur globale par patch Dirichlet 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [errGlobTot, errGlob] = Err_globale_patch_Dirichlet(donnees)

u = donnees.res.Uh ;
maillage = donnees.maillage ;
subdivision = donnees.subdivisionPatch ;
poutre = donnees.poutre ;

dduL = derivSecUhL(donnees) ;
ddduL = derivTroisUhL(donnees) ;

errGlob=zeros(length(maillage),1);

for i=2:length(maillage)-1
   uhloc = u(2*(i-1)-1:2*(i-1)-1+5) ;
   maillageIniLoc = maillage((i-1):(i+1)) ;
   
   sautMomloc = poutre.I*poutre.E*(dduL(i,2) - dduL(i+1,1)) ;
   sautEffloc = - poutre.I*poutre.E*(ddduL(i,2) - ddduL(i+1,1)) ;
   
   errGlob(i) = Err_globale_patch_Dirichlet_element(donnees,uhloc,maillageIniLoc,subdivision,poutre,sautMomloc,sautEffloc);
end

errGlobTot = norm(errGlob,1) ;
end